`:top
`!ActionScript`! est un `F33f`_`[langage de programmation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Langage_de_programmation]`_`f utilisé au sein d'applications `F33f`_`[clientes`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Client_(informatique)]`_`f (comme `F33f`_`[Adobe Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flash]`_`f et `F33f`_`[Adobe Flex`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flex]`_`f) et `F33f`_`[serveur`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Serveur_informatique]`_`f (`F33f`_`[Flash media server`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flash_Media_Server_FMS]`_`f, JRun, Macromedia Generator). Il était également utilisable en tant que `F33f`_`[langage de script`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Langage_de_script]`_`f dans le `F33f`_`[moteur graphique`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Moteur_Graphique]`_`f `F33f`_`[Unity`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Unity_(moteur_de_jeu)]`_`f jusqu'à sa version 4`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f].
ActionScript est un `F33f`_`[langage de script`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Langage_de_script]`_`f, `F33f`_`[orienté objet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Orienté_objet]`_`f et `F33f`_`[prototype`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Programmation_orientée_prototype]`_`f, fondé sur `F33f`_`[ECMAScript`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=ECMAScript]`_`f (conforme à 100 % avec la norme ECMA-262, révision 3, depuis ActionScript 3.0).
ECMAScript étant une version standardisée de `F33f`_`[JavaScript`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=JavaScript]`_`f, ActionScript et JavaScript partagent une syntaxe semblable.
Ce langage permet d'ajouter de l'interactivité aux animations `F33f`_`[Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flash]`_`f, en répondant aux actions de l'utilisateur, et en pilotant les `*movie clips`* (conteneurs graphiques permettant de hiérarchiser les animations), et les différents objets multimédias (images, son, vidéo…). Il permet également la communication de l'application avec le `F33f`_`[serveur`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Serveur_informatique]`_`f, notamment par le chargement de fichiers ou la communication avec un `F33f`_`[langage serveur`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Langage_serveur]`_`f comme le `F33f`_`[PHP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=PHP]`_`f.
>>Contents
• `F0af`_`[Les éléments particuliers du langage`#les-l-ments-particuliers-du-langage]`_`f
• `F0af`_`[Les composants`#les-composants]`_`f
• `F0af`_`[Bibliothèques`#biblioth-ques]`_`f
• `F0af`_`[XML socket`#xml-socket]`_`f
• `F0af`_`[Effets graphiques`#effets-graphiques]`_`f
• `F0af`_`[Bibliothèques ActionScript`#biblioth-ques-actionscript]`_`f
• `F0af`_`[D'ActionScript 2.0 à ActionScript 3.0`#d-actionscript-2-0-actionscript-3-0]`_`f
• `F0af`_`[ActionScript 2.0`#actionscript-2-0]`_`f
• `F0af`_`[ActionScript 3.0`#actionscript-3-0]`_`f
• `F0af`_`[Annexes`#annexes]`_`f
• `F0af`_`[Bibliographie`#bibliographie]`_`f
• `F0af`_`[Articles connexes`#articles-connexes]`_`f
• `F0af`_`[Liens externes`#liens-externes]`_`f
• `F0af`_`[Notes et références`#notes-et-r-f-rences]`_`f
-─
>>Les éléments particuliers du langage
ActionScript a évolué au cours du temps pour devenir un vrai langage de programmation appliqué à la `F33f`_`[gestion de données`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Gestion_des_données]`_`f multimédia/animation.
Les déclarations de `F33f`_`[variables`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Variable_(informatique)]`_`f dans ActionScript se font sans annotation de type jusqu'à la version 3 (AS3) qui nécessite actuellement de respecter la syntaxe `B100`F9d9var nom_variable:nom_type`f`b. L'affectation qui a pour but d'initialiser une variable est possible.
Le débogage du contenu d'une variable se fait par l'utilisation de la fonction « trace », et sa suppression avec « delete ».
Les `*commentaires`* sont les mêmes que ceux du `F33f`_`[C99`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=C_(langage)]`_`f. On peut commenter le code de deux façons :
• commenter la fin de la ligne avec //
• commenter un bloc de lignes avec /*... */
Comme tout langage de programmation, Actionscript possède des `F33f`_`[structures de contrôle`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Structure_de_contrôle]`_`f :
• branchement conditionnel : `B100`F9d9if, else`f`b ;
• boucle : `B100`F9d9for, while`f`b.
Les fichiers ActionScripts non compilés ont pour extension `*.as`* (utilisé par le client) ou `*.asr`* (utilisé sur serveur). Les fichiers compilés ont pour extension `*.swf`*.
>>>Les composants
L'autre grande nouveauté de l'ActionScript 2.0 est l'apparition des composants. Il s'agit de clips compilés (la source n'est donc pas forcément disponible) auxquels est associée une classe de programmation. Ils s'utilisent comme des objets à part entière : leurs méthodes (fonctions appliquées à l'objet) peuvent avoir des répercussions graphiques.
Parmi les composants natifs de `F33f`_`[Macromedia Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Macromedia_Flash]`_`f (version MX 2004), on peut trouver les équivalents des « conteneurs » `F33f`_`[HTML`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Hypertext_Markup_Language]`_`f (combos de sélection, zones de texte, de saisie, listes déroulantes…), ou encore des composants plus complexes comme des fenêtres, des tableaux de données, des lecteurs `F33f`_`[multimédia`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Multimédia]`_`f (son, vidéo). La plupart de ces composants « natifs » ne sont disponibles que dans la version « Professionnelle » de `F33f`_`[Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Macromedia_Flash]`_`f MX 2004.
>>Bibliothèques
>>>XML socket
L'une des particularités d'ActionScript, par rapport aux autres langages web, est d'avoir intégré dans sa bibliothèque une `F33f`_`[API`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Interface_de_programmation]`_`f utilisant les `F33f`_`[Socket`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Berkeley_sockets]`_`f et les fichiers `F33f`_`[XML`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Extensible_Markup_Language]`_`f pour transférer l'information entre un serveur et ses clients `F33f`_`[Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Macromedia_Flash]`_`f de façon automatique sans action de la part de l'utilisateur. Ceci permet la conception d'une application ou un jeu multi-utilisateurs en temps réel. Il est alors nécessaire de mettre en place un serveur pour « centraliser » les informations et les redistribuer.
`F33f`_`[Ajax`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Ajax_(informatique)]`_`f ne supporte pas les connexions par socket et les applications utilisant la technologie Ajax (chat, im ..) demandent que le client mette à jour périodiquement son `F33f`_`[interface graphique`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Interface_graphique]`_`f selon une fréquence prédéfinie (mode pull, synchrone) .Par l'utilisation des sockets, le rafraîchissement ne se fait que si un message nouveau est envoyé par le serveur, c'est-à-dire en temps réel (mode push des messageries). L'utilisation de socket évite la mise en place de la gestion de clients et du stockage des informations.
Les serveurs compatibles sont souvent écrits en C++ ou Java et supportent des langages plus faciles à programmer comme PHP, `F33f`_`[Perl`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Perl_(langage)]`_`f.
>>>Effets graphiques
ActionScript 2.0 a permis la constitution au fil du temps d'une bibliothèque d'effets graphiques appelés composants. Quelques adresses où se trouvent certains de ces composants :
• Adobe Add-ons : dépôt de composants, dont ceux dits « Flash Pro Featured Add-ons » (`*visité le 13 juillet 2014`*).
>>>Bibliothèques ActionScript
• ASLib : bibliothèque ActionScript implémentant des structures classiques de données non intégrées dans le langage basique (`F33f`_`[Arbres binaires`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Arbre_binaire]`_`f, `F33f`_`[Listes chaînées`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Liste_chaînée]`_`f, Piles, « Hash Table »).
• FP XHTML Render : un parseur `F33f`_`[XHTML`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=XHTML]`_`f. Il affiche le contenu d'un fichier XHTML dans un « conteneur » `F33f`_`[Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Macromedia_Flash]`_`f (Fenêtre, etc.).
>>D'ActionScript 2.0 à ActionScript 3.0
L'émergence de la version 3.0 d'ActionScript a complètement bouleversé la façon d'appréhender la programmation ActionScript.
En effet, cette nouvelle mouture du langage adopte une syntaxe différente mais également une grosse particularité, c'est qu'elle est entièrement pensée et conçue pour développer en `F33f`_`[orienté objet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Orienté_objet]`_`f. Tout ceci a plusieurs conséquences :
• Les « anciens » `F33f`_`[développeurs`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Développeur]`_`f doivent apprendre une nouvelle syntaxe, ce qui demande un petit temps d'adaptation ;
• Obligation de comprendre et d'utiliser la `F33f`_`[programmation orientée objet`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Programmation_orientée_objet]`_`f ;
• Une ouverture plus franche de la part d'`F33f`_`[Adobe`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Systems]`_`f sur ActionScript nous permet d'espérer une grande compatibilité, `F33f`_`[frameworks`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Framework]`_`f et autres `F33f`_`[compilateurs`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Compilateur]`_`f externes ;
• La vitesse d'exécution des scripts est meilleure (tant que la programmation est bien réalisée).
`t
| ActionScript | type de base | type complexe |
|---|---|---|
| 2.0 | String, Number, boolean | Array, Button, Date, EventListener, LoadVars, MovieClip, MovieClipLoader, NetStream, Netconnection, Object, Sound, TextField, XML, XMLNode, |
| 3.0 | idem + int, Null, uint, void | idem +Bitmap, ByteAray, Error, Function, RegExp, Shape, Simplebutton, Video, XMLList, Vector |
`t
>>>ActionScript 2.0
• compatible avec ActionScript 1.0
• couche de syntaxe permettant l'utilisation de l'héritage de classe au-dessus du système fondé sur les prototypes (`B100`F9d9class`f`b, `B100`F9d9extends`f`b)
• typage statique optionnel
• support partiel de la norme ECMAScript IV
>>>ActionScript 3.0
• nouvelle machine virtuelle ne supportant que l'actionScript 3.0
• vérification des types à la compilation et à l'exécution
• support des `F33f`_`[API`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Interface_de_programmation]`_`f, `F33f`_`[Bibliothèque logicielle`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Bibliothèque_logicielle]`_`f, des `F33f`_`[Espaces de noms`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Espaces_de_noms]`_`f
• gestion des évènements fondée sur `F33f`_`[DOM`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Document_Object_Model]`_`f
• support total de la norme `F33f`_`[ECMAScript`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=ECMAScript]`_`f4 (ES4)
• début de l'optimisation pour `F33f`_`[DirectX`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=DirectX]`_`f et `F33f`_`[OpenGL`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=OpenGL]`_`f
>>Annexes
>>>Bibliographie
• Colin Moock (`F33f`_`[2003`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=2003]`_`f), `*ActionScript pour Flash MX - La référence - 2e édition`*, (`F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=International_Standard_Book_Number]`_`f 978-2-84177-271-1)
• Colin Moock (`F33f`_`[2004`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=2004]`_`f), `*Le meilleur d'ActionScript 2.0`*, (`F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=International_Standard_Book_Number]`_`f 978-2-84177-313-8)
• Henri Blum (`F33f`_`[2008`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=2008]`_`f), `*ActionScript 3, Développez des jeux en Flash`*, (`F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=International_Standard_Book_Number]`_`f 978-2-7460-4331-2), 510 pages, site de l'éditeur : www.editions-eni.fr, site de l'auteur : www.henri-blum.com
>>>Articles connexes
• `F33f`_`[Flash`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flash]`_`f
• `F33f`_`[Flex`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Adobe_Flex]`_`f
• `F33f`_`[XMLHttpRequest`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=XMLHttpRequest]`_`f
• `F33f`_`[FlashDevelop`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=FlashDevelop]`_`f
• CodeDrive
• `F33f`_`[Haxe`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Haxe]`_`f
>>>Liens externes
• (fr) Pôle technologique d'ActionScript
• (fr) Guide de référence du langage et des composants ActionScript 3.0
• (fr) Programmation avec Adobe ActionScript 3.0 pour Adobe Flash
• (fr) Adobe Flash Professional (i.e. l'IDE Flash)
>>>Notes et références
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f « Unity - Manual: Getting Started with Flash Development », sur docs.unity3d.com (consulté le 6 janvier 2025)
• Portail de la programmation informatique
• Portail de l’informatique
`c`F0af`_`[↑ Back to top`#top]`_`f`a